package 双指针法;

import com.alibaba.fastjson.JSON;

public class No26删除排序数组中的重复项 {

    /**
     * 给定数组 nums = [1,1,2],
     * 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。
     * 你不需要考虑数组中超出新长度后面的元素。
     *
     * 给定 nums = [0,0,1,1,1,2,2,3,3,4],
     * 函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
     * 你不需要考虑数组中超出新长度后面的元素。
     *
     * 重复元素都是扎堆出现的
     */

    public static int removeDuplicates(int[] nums) {

        int onlyIndex=0;

        for (int i = 0; i < nums.length; i++) {
            //找到不等于的,才++然后替换
            if(nums[i]!=nums[onlyIndex]){
                //开始替换
                nums[++onlyIndex]=nums[i];
            }
        }

        return ++onlyIndex;
    }

    public static void main(String[] args) {

        int[] arr=new int[]{0,0,1,1,1,1,2,2,3,3,4,5,6,7,7,7};
        int i = removeDuplicates(arr);
        System.out.println(i);
        System.out.println(JSON.toJSONString(arr));

    }

}
